package com.example.dazhuang.vo;

import java.util.List;
import java.util.Map;

public class Order {
    String orderId;//订单id(内部)(不可空)
    int rawPrice;//原价，人民币分
    int salesPrice;//最终售价，人民币分
    PaymentInfo currentPaymentInfo;//当前关联的支付信息(可空)
    OrderStatus status;//状态(不可空)
    boolean isAutoSubscription;//该订单是否自动续订
    boolean isReverseSubscription;//是否是反向订购
    String serviceCode;//业务代码
    GoodsInfo goodsInfo;//商品信息
    long createTime;//订单创建时间
    DeliveryItem mainDeliveryItem;//主要交付物信息
    List<DeliveryItem> extDeliveryItems;//附加交付物信息
    Map<String, String> extInfo;
    String cancelOperatorID;//取消订单操作员ID（查询返回）
    String createOperatorID;//创建订单操作员ID（查询返回）
    String finishTime;//订单完成时间（查询返回）

    public Order() {
    }

    public Order(String orderId, int rawPrice, int salesPrice, PaymentInfo currentPaymentInfo, OrderStatus status, boolean isAutoSubscription, boolean isReverseSubscription, String serviceCode, GoodsInfo goodsInfo, long createTime, DeliveryItem mainDeliveryItem, List<DeliveryItem> extDeliveryItems, Map<String, String> extInfo, String cancelOperatorID, String createOperatorID, String finishTime) {
        this.orderId = orderId;
        this.rawPrice = rawPrice;
        this.salesPrice = salesPrice;
        this.currentPaymentInfo = currentPaymentInfo;
        this.status = status;
        this.isAutoSubscription = isAutoSubscription;
        this.isReverseSubscription = isReverseSubscription;
        this.serviceCode = serviceCode;
        this.goodsInfo = goodsInfo;
        this.createTime = createTime;
        this.mainDeliveryItem = mainDeliveryItem;
        this.extDeliveryItems = extDeliveryItems;
        this.extInfo = extInfo;
        this.cancelOperatorID = cancelOperatorID;
        this.createOperatorID = createOperatorID;
        this.finishTime = finishTime;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public int getRawPrice() {
        return rawPrice;
    }

    public void setRawPrice(int rawPrice) {
        this.rawPrice = rawPrice;
    }

    public int getSalesPrice() {
        return salesPrice;
    }

    public void setSalesPrice(int salesPrice) {
        this.salesPrice = salesPrice;
    }

    public PaymentInfo getCurrentPaymentInfo() {
        return currentPaymentInfo;
    }

    public void setCurrentPaymentInfo(PaymentInfo currentPaymentInfo) {
        this.currentPaymentInfo = currentPaymentInfo;
    }

    public OrderStatus getStatus() {
        return status;
    }

    public void setStatus(OrderStatus status) {
        this.status = status;
    }

    public boolean isAutoSubscription() {
        return isAutoSubscription;
    }

    public void setAutoSubscription(boolean autoSubscription) {
        isAutoSubscription = autoSubscription;
    }

    public boolean isReverseSubscription() {
        return isReverseSubscription;
    }

    public void setReverseSubscription(boolean reverseSubscription) {
        isReverseSubscription = reverseSubscription;
    }

    public String getServiceCode() {
        return serviceCode;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public GoodsInfo getGoodsInfo() {
        return goodsInfo;
    }

    public void setGoodsInfo(GoodsInfo goodsInfo) {
        this.goodsInfo = goodsInfo;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public DeliveryItem getMainDeliveryItem() {
        return mainDeliveryItem;
    }

    public void setMainDeliveryItem(DeliveryItem mainDeliveryItem) {
        this.mainDeliveryItem = mainDeliveryItem;
    }

    public List<DeliveryItem> getExtDeliveryItems() {
        return extDeliveryItems;
    }

    public void setExtDeliveryItems(List<DeliveryItem> extDeliveryItems) {
        this.extDeliveryItems = extDeliveryItems;
    }

    public Map<String, String> getExtInfo() {
        return extInfo;
    }

    public void setExtInfo(Map<String, String> extInfo) {
        this.extInfo = extInfo;
    }

    public String getCancelOperatorID() {
        return cancelOperatorID;
    }

    public void setCancelOperatorID(String cancelOperatorID) {
        this.cancelOperatorID = cancelOperatorID;
    }

    public String getCreateOperatorID() {
        return createOperatorID;
    }

    public void setCreateOperatorID(String createOperatorID) {
        this.createOperatorID = createOperatorID;
    }

    public String getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(String finishTime) {
        this.finishTime = finishTime;
    }

    @Override
    public String toString() {
        return "Order{" +
                "orderId='" + orderId + '\'' +
                ", rawPrice=" + rawPrice +
                ", salesPrice=" + salesPrice +
                ", currentPaymentInfo=" + currentPaymentInfo +
                ", status=" + status +
                ", isAutoSubscription=" + isAutoSubscription +
                ", isReverseSubscription=" + isReverseSubscription +
                ", serviceCode='" + serviceCode + '\'' +
                ", goodsInfo=" + goodsInfo +
                ", createTime=" + createTime +
                ", mainDeliveryItem=" + mainDeliveryItem +
                ", extDeliveryItems=" + extDeliveryItems +
                ", extInfo=" + extInfo +
                ", cancelOperatorID='" + cancelOperatorID + '\'' +
                ", createOperatorID='" + createOperatorID + '\'' +
                ", finishTime='" + finishTime + '\'' +
                '}';
    }
}